6 #ifndef _CFEXPMATERIAL_H_ 7 #define _CFEXPMATERIAL_H_ 31 #define WAVE_SPEED_LAMBDA(statm_lambda) [](t_fexpcommon_ct E, t_fexpcommon_ct rho, t_fexpcommon_ct nu) statm_lambda 32 #define WAVE_SPEED_PAIRMP(key, statm_lambda) { key, WAVE_SPEED_LAMBDA(statm_lambda) } 46 std::map<FEXPFEDefinition::EFEXPFiniteElementGeom, std::function<t_fexpcommon_ct(t_fexpcommon_ct, t_fexpcommon_ct, t_fexpcommon_ct)>>
_wave_base_characteristics =
81 virtual size_t GetId ()
override {
return _id; }
134 static const size_t _dim_D;
179 #endif // !_CFEXPMATERIAL_H_ virtual void NetDeserialize(Ptr< t_SerializedData > data) override
Definition: FEXPMaterial.h:167
virtual t_fexpcommon_ct GetWaveSpeed(FEXPFEDefinition::EFEXPFiniteElementGeom egtype) override
Definition: FEXPMaterial.cpp:127
virtual void CalculateStress(Ptr< CFEXPMatrix2D > strn, Ptr< CFEXPMatrix2D > d_strn, Ptr< CFEXPMatrix2D > strs, t_fexpcommon_ct dt)=0
virtual size_t GetType() override
Definition: FEXPMaterial.h:83
virtual EMaterial GetMaterialId() override
Definition: FEXPMaterial.h:118
virtual t_fexpcommon_ct GetMatYngMod() override
Definition: FEXPMaterial.cpp:146
Material characteristic for Courant–Friedrichs–Lewy condition of stability.
Definition: FEXPMaterial.h:35
virtual void NetDeserialize(Ptr< t_SerializedData > data) override
Definition: FEXPMaterial.h:122
std::map< FEXPFEDefinition::EFEXPFiniteElementGeom, std::function< t_fexpcommon_ct(t_fexpcommon_ct, t_fexpcommon_ct, t_fexpcommon_ct)> > _wave_base_characteristics
Definition: FEXPMaterial.h:46
Definition: FEXPMaterial.h:21
EMaterial
Type of solid material.
Definition: FEXPMaterial.h:19
virtual t_fexpcommon_ct GetMatYngMod() override
Definition: FEXPMaterial.cpp:218
virtual ~ICFEXPMaterialBase()
Definition: FEXPMaterial.h:70
virtual ~CFEXPRigidMaterial()
Definition: FEXPMaterial.h:152
virtual Ptr< ICFEXPMaterialBase > GetSameMaterial() override
Definition: FEXPMaterial.cpp:178
virtual Ptr< t_SerializedData > NetSerialize() override
Definition: FEXPMaterial.h:166
Definition: FEXPCommon.h:96
CFEXPSimpleElasticMaterial(size_t id, t_fexpcommon_ct rho, t_fexpcommon_ct E, t_fexpcommon_ct nu)
Definition: FEXPMaterial.cpp:18
Simple elastic type of a solid material.
Definition: FEXPMaterial.h:101
Definition: FEXPDataContainer.h:25
virtual ~ICFEXPMaterialDynCharacter()
Definition: FEXPMaterial.h:38
virtual Ptr< t_SerializedData > NetSerialize() override
Definition: FEXPMaterial.h:121
Definition: FEXPCommon.h:276
double t_fexpcommon_ct
Definition: FEXPCommon.h:120
Base interface for solid materials.
Definition: FEXPMaterial.h:65
virtual void CalculateStress(Ptr< CFEXPMatrix2D > strn, Ptr< CFEXPMatrix2D > d_strn, Ptr< CFEXPMatrix2D > strs, t_fexpcommon_ct dt) override
Definition: FEXPMaterial.h:159
static const EMaterial ID
Definition: FEXPMaterial.h:169
Definition: FEXPCommon.h:100
virtual t_fexpcommon_ct GetMatYngMod()=0
virtual EMaterial GetMaterialId() override
Definition: FEXPMaterial.h:163
virtual void CalculateStress(Ptr< CFEXPMatrix2D > strn, Ptr< CFEXPMatrix2D > d_strn, Ptr< CFEXPMatrix2D > strs, t_fexpcommon_ct dt) override
Definition: FEXPMaterial.cpp:153
virtual t_fexpcommon_ct GetWaveSpeed(FEXPFEDefinition::EFEXPFiniteElementGeom egtype)=0
#define FEXPCOMMON_NOT_IMPLEMENTED_EX
Definition: FEXPCommon.h:144
Definition: FEXPCommon.h:98
virtual EMaterial GetMaterialId()=0
virtual Ptr< CFEXPMatrix2D > GetStress() override
Definition: FEXPMaterial.cpp:171
CFEXPRigidMaterial(size_t id, t_fexpcommon_ct rho, t_fexpcommon_ct E, t_fexpcommon_ct nu)
Definition: FEXPMaterial.cpp:194
virtual size_t GetId() override
Definition: FEXPMaterial.h:81
ICFEXPMaterialBase(size_t id)
Definition: FEXPMaterial.h:69
virtual size_t GetThreadNumber() override
Definition: FEXPMaterial.h:85
virtual Ptr< ICFEXPMaterialBase > GetSameMaterial() override
Definition: FEXPMaterial.cpp:225
virtual t_fexpcommon_ct GetMatDnsRho() override
Definition: FEXPMaterial.cpp:139
virtual t_fexpcommon_ct GetWaveSpeed(FEXPFEDefinition::EFEXPFiniteElementGeom egtype) override
Definition: FEXPMaterial.cpp:199
virtual size_t GetThreadId() override
Definition: FEXPMaterial.h:84
static const EMaterial ID
Definition: FEXPMaterial.h:124
virtual Ptr< CFEXPMatrix2D > GetStress() override
Definition: FEXPMaterial.h:160
virtual Ptr< CFEXPMatrix2D > GetStress()=0
EFEXPFiniteElementGeom
Type of FE geometry.
Definition: FEXPCommon.h:90
virtual ~CFEXPSimpleElasticMaterial()
Definition: FEXPMaterial.h:106
virtual t_fexpcommon_ct GetMatDnsRho()=0
Base interface for system element.
Definition: FEXPDataContainer.h:28
#define FEXPCOMMON_DEFAULT_VALUE
Definition: FEXPCommon.h:179
virtual t_fexpcommon_ct GetMatDnsRho() override
Definition: FEXPMaterial.cpp:211
virtual Ptr< ICFEXPMaterialBase > GetSameMaterial()=0
Definition: FEXPMaterial.h:22
#define WAVE_SPEED_PAIRMP(key, statm_lambda)
Definition: FEXPMaterial.h:32
Definition: FEXPCommon.h:94
virtual void SetThreadId(size_t id) override
Definition: FEXPMaterial.h:86
Rigid type of a solid material.
Definition: FEXPMaterial.h:147
virtual size_t GetModelId() override
Definition: FEXPMaterial.h:82